package com.ugtss.busniess.controller;

import com.ugtss.busniess.domain.EnterpriseInfo;
import com.ugtss.busniess.domain.dto.EnterpriseDto;
import com.ugtss.busniess.domain.dto.RecruitDto;
import com.ugtss.busniess.service.EnterpriseService;
import com.ugtss.busniess.service.RecruitService;
import com.ugtss.common.core.domain.R;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;


@RequestMapping("/enterprise")
@RestController
public class EnterpriseController {

    @Autowired
    private EnterpriseService enterpriseService;

    @Autowired
    private RecruitService recruitService;

    /**
     *  1. 企业信息添加：添加企业基本信息。
     *  2. 企业信息编辑：编辑企业基本信息。
     *  3. 企业信息删除：删除企业基本信息。
     *  4. 企业信息检索：检索企业基本信息。
     *  5. 招聘信息发布：发布企业招聘信息。
     * */

    @GetMapping("/getList")
    public R<List<EnterpriseInfo>> getList() {
        return R.ok(enterpriseService.getList());
    }

    @PostMapping("/getListByParams")
    public R<List<EnterpriseInfo>> getListByParams(@RequestBody() EnterpriseDto dto) {
        return R.ok(enterpriseService.getListByParams(dto));
    }

    @GetMapping("/getOwnInfo/{userId}")
    public R<EnterpriseInfo> getOwnInfo(@PathVariable("userId") Integer userId) {
        return R.ok(enterpriseService.getOwnInfo(userId));
    }

    @PostMapping
    public R add(@RequestBody() EnterpriseDto dto) {
        enterpriseService.add(dto);
        return R.ok();
    }

    @DeleteMapping
    public R delete(@RequestParam("id") Integer id) {
        enterpriseService.delete(id); // 删除 且mysql职位表设置了级联删除
        return R.ok();
    }

    @PutMapping
    public R update(@RequestBody() EnterpriseDto dto) {
        enterpriseService.update(dto);
        return R.ok();
    }

}
